home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
cocktail
/
l2r.lha
/
l2r
/
Scanner.c
< prev
next >
Wrap
C/C++ Source or Header
|
1992-08-20
|
122KB
|
9,335 lines
/* $Id: Scanner.c,v 2.16 1992/08/18 09:05:32 grosch rel grosch $ */
# define bool char
# define true 1
# define false 0
# define StdIn 0
# include "Scanner.h"
# include "Source.h"
# include "System.h"
# include "General.h"
# include "DynArray.h"
# include "Positions.h"
# include <stdio.h>
# if defined __STDC__ | defined __cplusplus
# include <stdlib.h>
# else
/* extern char * malloc ();
extern void free (); */
# endif
# define yyTabSpace 8
# define yyStart(State) { yyPreviousStart = yyStartState; yyStartState = State; }
# define yyPrevious { yyStateRange s = yyStartState; \
yyStartState = yyPreviousStart; yyPreviousStart = s; }
# define yyEcho { char * yyEnd = TokenPtr + TokenLength; \
char yyCh = * yyEnd; * yyEnd = '\0'; \
(void) fputs (TokenPtr, stdout); * yyEnd = yyCh; }
# define yyLess(n) { yyChBufferIndex -= TokenLength - n; TokenLength = n; }
# define yyTab yyLineStart -= yyTabSpace - 1 - ((unsigned char *) TokenPtr - yyLineStart - 1) % yyTabSpace
# define yyTab1(a) yyLineStart -= yyTabSpace - 1 - ((unsigned char *) TokenPtr - yyLineStart + a - 1) % yyTabSpace
# define yyTab2(a,b) yyLineStart -= yyTabSpace - 1 - ((unsigned char *) TokenPtr - yyLineStart + a - 1) % yyTabSpace
# define yyEol(Column) { yyLineCount ++; yyLineStart = yyChBufferIndex - 1 - Column; }
# define output(c) (void) putchar ((int) c)
# define unput(c) * (-- yyChBufferIndex) = c
# define yyDNoState 0
# define yyFileStackSize 16
# define yyInitBufferSize 1024 * 8 + 256
# define yyFirstCh (unsigned char) '\0'
# define yyLastCh (unsigned char) '\177'
# define yyEolCh (unsigned char) '\12'
# define yyEobCh (unsigned char) '\177'
# define yyDStateCount 203
# define yyTableSize 7377
# define yyEobState 139
# define yyDefaultState 140
# define STD 1
# define Target1 3
# define InTarget 5
# define InMacro 7
# define RulePart 9
# define Local 11
# define InAction 13
# define MultiLine 15
# define String1 17
# define String2 19
# define Comment 21
# define AfterAction 23
# define InBrackets 25
# define NowCaret 27
static void yyExit () { Exit (1); }
typedef unsigned short yyStateRange;
typedef struct { yyStateRange yyCheck, yyNext; } yyCombType;
char * TokenPtr ;
short TokenLength ;
tScanAttribute Attribute ;
void (* Scanner_Exit) () = yyExit;
static yyCombType yyComb [yyTableSize + 1] = {{1, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{2, 145},
{30, 44},
{30, 44},
{31, 32},
{31, 32},
{174, 175},
{177, 178},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{2, 155},
{30, 44},
{0, 0},
{31, 32},
{0, 0},
{2, 71},
{4, 118},
{6, 122},
{8, 102},
{12, 115},
{14, 88},
{16, 86},
{18, 113},
{20, 112},
{22, 36},
{1, 182},
{1, 68},
{1, 68},
{1, 68},
{1, 68},
{1, 68},
{1, 68},
{1, 68},
{1, 68},
{1, 68},
{1, 68},
{24, 111},
{26, 110},
{28, 102},
{78, 74},
{110, 74},
{112, 37},
{113, 38},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{77, 126},
{115, 42},
{116, 114},
{1, 121},
{52, 53},
{118, 61},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{2, 100},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 146},
{3, 202},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 156},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 137},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{3, 98},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 147},
{5, 200},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 157},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 201},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 135},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{5, 59},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 144},
{7, 141},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 154},
{7, 121},
{7, 29},
{7, 121},
{7, 120},
{7, 121},
{7, 121},
{7, 121},
{7, 194},
{7, 193},
{7, 195},
{7, 196},
{7, 121},
{7, 121},
{7, 198},
{7, 199},
{7, 45},
{7, 45},
{7, 45},
{7, 45},
{7, 45},
{7, 45},
{7, 45},
{7, 45},
{7, 45},
{7, 45},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 197},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 168},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 92},
{7, 69},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 121},
{7, 101},
{7, 192},
{7, 121},
{7, 121},
{9, 148},
{10, 102},
{21, 179},
{21, 180},
{33, 74},
{39, 139},
{41, 139},
{33, 33},
{33, 33},
{33, 33},
{33, 33},
{33, 33},
{33, 33},
{33, 33},
{33, 33},
{34, 34},
{34, 34},
{34, 34},
{34, 34},
{34, 34},
{34, 34},
{34, 34},
{34, 34},
{9, 158},
{10, 103},
{21, 164},
{81, 181},
{87, 77},
{92, 46},
{119, 117},
{21, 83},
{62, 62},
{75, 67},
{76, 123},
{97, 59},
{21, 81},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{45, 45},
{51, 51},
{51, 51},
{51, 51},
{51, 51},
{51, 51},
{51, 51},
{51, 51},
{51, 51},
{62, 62},
{75, 67},
{76, 123},
{97, 59},
{10, 172},
{109, 76},
{114, 91},
{92, 139},
{125, 48},
{117, 99},
{126, 109},
{132, 129},
{133, 130},
{132, 59},
{133, 90},
{138, 139},
{168, 169},
{75, 75},
{75, 75},
{75, 75},
{75, 75},
{75, 75},
{75, 75},
{75, 75},
{75, 75},
{75, 75},
{75, 75},
{169, 170},
{134, 131},
{114, 91},
{134, 98},
{87, 139},
{117, 99},
{128, 125},
{128, 125},
{128, 125},
{128, 125},
{128, 125},
{128, 125},
{128, 125},
{128, 125},
{128, 125},
{128, 125},
{135, 132},
{136, 133},
{182, 183},
{137, 134},
{135, 59},
{136, 90},
{97, 96},
{137, 98},
{184, 183},
{81, 139},
{185, 183},
{109, 139},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{9, 93},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 149},
{11, 30},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 159},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 136},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{11, 90},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 150},
{13, 142},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 160},
{13, 41},
{13, 187},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 190},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 184},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 177},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 89},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{13, 41},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 151},
{15, 173},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 161},
{15, 39},
{15, 188},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 191},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 185},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 87},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 39},
{15, 176},
{15, 39},
{15, 174},
{15, 39},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 179},
{17, 180},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 162},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 189},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{17, 85},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 179},
{19, 180},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 163},
{19, 84},
{19, 186},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{19, 84},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 152},
{23, 141},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 165},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{23, 80},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 153},
{25, 143},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 166},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 70},
{25, 167},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{25, 78},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 144},
{27, 141},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 154},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 171},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{27, 121},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{0, 0},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 55},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{29, 105},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{0, 0},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{35, 35},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{0, 0},
{0, 0},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 82},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{0, 0},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{36, 83},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 72},
{37, 31},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 72},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{37, 37},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{0, 0},
{0, 0},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 72},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{38, 38},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{0, 0},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{42, 42},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 56},
{56, 57},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 56},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 94},
{56, 47},
{0, 0},
{56, 94},
{56, 94},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{0, 0},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{58, 58},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{0, 0},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{0, 0},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{59, 59},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{0, 0},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{60, 60},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{0, 0},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{61, 61},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{0, 0},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{63, 63},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{0, 0},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{64, 64},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{0, 0},
{0, 0},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{0, 0},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{67, 67},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{0, 0},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{0, 0},
{122, 72},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{69, 50},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{122, 60},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 33},
{70, 33},
{70, 33},
{70, 33},
{70, 33},
{70, 33},
{70, 33},
{70, 33},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{70, 78},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{0, 0},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 72},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{0, 0},
{71, 65},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{0, 0},
{71, 65},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 106},
{71, 203},
{71, 106},
{71, 106},
{71, 106},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 31},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{0, 0},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{72, 72},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 107},
{0, 0},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{74, 79},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{0, 0},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{80, 80},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 72},
{82, 31},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 72},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{82, 82},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{0, 0},
{0, 0},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{0, 0},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{83, 83},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{0, 0},
{0, 0},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{0, 0},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{84, 84},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{0, 0},
{0, 0},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{86, 72},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{85, 85},
{0, 0},
{0, 0},
{86, 139},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{0, 0},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{90, 90},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{0, 0},
{91, 104},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{0, 0},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{0, 0},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{91, 91},
{93, 108},
{93, 108},
{93, 108},
{93, 108},
{93, 108},
{93, 108},
{93, 108},
{93, 108},
{93, 108},
{93, 108},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{93, 124},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{0, 0},
{95, 104},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{0, 0},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 104},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{0, 0},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{95, 95},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 95},
{0, 0},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 95},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{0, 0},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{96, 59},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{0, 0},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{98, 98},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{0, 0},
{99, 104},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{0, 0},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{0, 0},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{99, 99},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 62},
{0, 0},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 62},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{100, 100},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{0, 0},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{0, 0},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{103, 127},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{0, 0},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{0, 0},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 43},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{104, 104},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{0, 0},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 55},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{105, 105},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 66},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{106, 106},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{0, 0},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 34},
{107, 34},
{107, 34},
{107, 34},
{107, 34},
{107, 34},
{107, 34},
{107, 34},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{107, 79},
{108, 128},
{0, 0},
{0, 0},
{0, 0},
{108, 108},
{108, 108},
{108, 108},
{108, 108},
{108, 108},
{108, 108},
{108, 108},
{108, 108},
{108, 108},
{108, 108},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{108, 48},
{0, 0},
{108, 139},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{0, 0},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 35},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{111, 80},
{120, 54},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{120, 54},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{0, 0},
{120, 54},
{0, 0},
{0, 0},
{120, 139},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 40},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{123, 123},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{0, 0},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 124},
{124, 49},
{124, 124},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{0, 0},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 52},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{127, 127},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{0, 0},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{0, 0},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 97},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{129, 59},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{0, 0},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 116},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{130, 90},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{0, 0},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 119},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{131, 98},
{0, 0},
};
static yyCombType * yyBasePtr [yyDStateCount + 1] = {& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [123],
& yyComb [1],
& yyComb [250],
& yyComb [2],
& yyComb [377],
& yyComb [3],
& yyComb [495],
& yyComb [468],
& yyComb [619],
& yyComb [4],
& yyComb [746],
& yyComb [5],
& yyComb [873],
& yyComb [6],
& yyComb [1000],
& yyComb [7],
& yyComb [1127],
& yyComb [8],
& yyComb [497],
& yyComb [9],
& yyComb [1254],
& yyComb [21],
& yyComb [1381],
& yyComb [22],
& yyComb [1508],
& yyComb [23],
& yyComb [1635],
& yyComb [1],
& yyComb [3],
& yyComb [0],
& yyComb [463],
& yyComb [471],
& yyComb [1762],
& yyComb [1889],
& yyComb [2016],
& yyComb [2143],
& yyComb [382],
& yyComb [0],
& yyComb [383],
& yyComb [2270],
& yyComb [0],
& yyComb [0],
& yyComb [492],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [502],
& yyComb [1],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [2397],
& yyComb [0],
& yyComb [2524],
& yyComb [2651],
& yyComb [2778],
& yyComb [2905],
& yyComb [526],
& yyComb [3032],
& yyComb [3159],
& yyComb [0],
& yyComb [0],
& yyComb [3286],
& yyComb [0],
& yyComb [3413],
& yyComb [3540],
& yyComb [3667],
& yyComb [3794],
& yyComb [0],
& yyComb [3921],
& yyComb [527],
& yyComb [528],
& yyComb [20],
& yyComb [16],
& yyComb [0],
& yyComb [4048],
& yyComb [483],
& yyComb [4175],
& yyComb [4302],
& yyComb [4429],
& yyComb [4556],
& yyComb [4558],
& yyComb [462],
& yyComb [0],
& yyComb [0],
& yyComb [4686],
& yyComb [4813],
& yyComb [438],
& yyComb [4892],
& yyComb [0],
& yyComb [5015],
& yyComb [5142],
& yyComb [529],
& yyComb [5269],
& yyComb [5396],
& yyComb [5523],
& yyComb [0],
& yyComb [0],
& yyComb [5650],
& yyComb [5777],
& yyComb [5904],
& yyComb [6031],
& yyComb [6158],
& yyComb [6241],
& yyComb [485],
& yyComb [17],
& yyComb [6369],
& yyComb [26],
& yyComb [27],
& yyComb [555],
& yyComb [55],
& yyComb [15],
& yyComb [558],
& yyComb [59],
& yyComb [455],
& yyComb [6487],
& yyComb [0],
& yyComb [3425],
& yyComb [6615],
& yyComb [6742],
& yyComb [441],
& yyComb [495],
& yyComb [6869],
& yyComb [543],
& yyComb [6996],
& yyComb [7123],
& yyComb [7250],
& yyComb [498],
& yyComb [499],
& yyComb [515],
& yyComb [532],
& yyComb [533],
& yyComb [535],
& yyComb [446],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [495],
& yyComb [501],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [4],
& yyComb [0],
& yyComb [0],
& yyComb [5],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [561],
& yyComb [0],
& yyComb [567],
& yyComb [569],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
& yyComb [0],
};
static yyStateRange yyDefault [yyDStateCount + 1] = {0,
27,
1,
33,
3,
33,
5,
33,
7,
7,
9,
33,
11,
33,
13,
33,
15,
33,
17,
33,
19,
36,
21,
33,
23,
33,
25,
33,
27,
39,
39,
39,
0,
39,
39,
37,
39,
33,
37,
0,
0,
0,
72,
0,
0,
41,
0,
0,
0,
0,
0,
41,
41,
0,
0,
0,
58,
0,
41,
41,
41,
72,
41,
41,
45,
0,
0,
75,
75,
51,
41,
64,
71,
56,
41,
45,
41,
41,
41,
0,
41,
0,
81,
81,
108,
108,
0,
0,
86,
87,
83,
114,
0,
87,
0,
96,
108,
96,
83,
117,
81,
93,
86,
81,
95,
81,
81,
81,
0,
0,
86,
81,
84,
85,
90,
90,
90,
98,
98,
98,
0,
138,
138,
138,
138,
128,
138,
138,
138,
138,
138,
138,
129,
130,
131,
129,
130,
131,
0,
0,
0,
138,
41,
78,
138,
63,
98,
59,
73,
90,
41,
39,
80,
78,
0,
63,
98,
59,
73,
90,
41,
39,
85,
84,
83,
80,
78,
121,
121,
138,
0,
121,
121,
141,
121,
0,
121,
121,
0,
144,
141,
0,
121,
0,
41,
39,
121,
121,
39,
121,
121,
39,
121,
121,
121,
121,
121,
121,
121,
121,
141,
121,
141,
0,
};
static yyStateRange yyEobTrans [yyDStateCount + 1] = {0,
121,
121,
98,
98,
59,
59,
121,
121,
121,
121,
90,
90,
41,
41,
39,
39,
85,
85,
84,
84,
83,
83,
80,
80,
78,
78,
121,
121,
105,
0,
0,
0,
0,
0,
35,
83,
37,
38,
0,
0,
0,
42,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
94,
0,
58,
59,
60,
61,
0,
63,
64,
0,
0,
67,
0,
50,
78,
106,
72,
94,
79,
0,
0,
0,
0,
0,
80,
0,
82,
83,
84,
85,
0,
0,
0,
0,
90,
91,
0,
0,
0,
95,
59,
59,
98,
99,
100,
0,
0,
127,
104,
105,
106,
79,
0,
0,
0,
80,
84,
85,
90,
90,
90,
98,
98,
98,
0,
0,
0,
123,
124,
0,
0,
127,
0,
59,
90,
98,
59,
90,
98,
59,
90,
98,
0,
0,
0,
0,
0,
0,
0,
63,
98,
59,
94,
90,
0,
0,
80,
0,
0,
63,
98,
59,
94,
90,
0,
0,
85,
84,
83,
80,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
};
static yyStateRange yyInitStateStack [yyInitBufferSize] = {0};
static yyStateRange * yyStateStack = yyInitStateStack;
static unsigned long yyStateStackSize= yyInitBufferSize;
static yyStateRange yyStartState = 0;
static yyStateRange yyPreviousStart = 1;
static short yySourceFile ;
static bool yyEof ;
static unsigned char * yyChBufferPtr ;
static unsigned char * yyChBufferStart ;
static unsigned long yyChBufferSize ;
static unsigned char * yyChBufferIndex = ((unsigned char *) yyComb) + 2; /* dirty trick */
static int yyBytesRead ;
static int yyLineCount ;
static unsigned char * yyLineStart ;
static struct {
short yySourceFile ;
bool yyEof ;
unsigned char * yyChBufferPtr ;
unsigned char * yyChBufferStart ;
unsigned long yyChBufferSize ;
unsigned char * yyChBufferIndex ;
int yyBytesRead ;
int yyLineCount ;
unsigned char * yyLineStart ;
} yyFileStack [yyFileStackSize + 1], * yyFileStackPtr = yyFileStack;
static unsigned char yyToLower [] = {
'\0', '\1', '\2', '\3', '\4', '\5', '\6', '\7',
'\10', '\11', '\12', '\13', '\14', '\15', '\16', '\17',
'\20', '\21', '\22', '\23', '\24', '\25', '\26', '\27',
'\30', '\31', '\32', '\33', '\34', '\35', '\36', '\37',
' ', '!', '"', '#', '$', '%', '&', '\'', '(', ')', '*', '+', ',', '-', '.', '/',
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', '<', '=', '>', '?',
'@', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o',
'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '[', '\\', ']', '^', '_',
'`', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o',
'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}', '~', '\177',
'\200', '\201', '\202', '\203', '\204', '\205', '\206', '\207',
'\210', '\211', '\212', '\213', '\214', '\215', '\216', '\217',
'\220', '\221', '\222', '\223', '\224', '\225', '\226', '\227',
'\230', '\231', '\232', '\233', '\234', '\235', '\236', '\237',
'\240', '\241', '\242', '\243', '\244', '\245', '\246', '\247',
'\250', '\251', '\252', '\253', '\254', '\255', '\256', '\257',
'\260', '\261', '\262', '\263', '\264', '\265', '\266', '\267',
'\270', '\271', '\272', '\273', '\274', '\275', '\276', '\277',
'\300', '\301', '\302', '\303', '\304', '\305', '\306', '\307',
'\310', '\311', '\312', '\313', '\314', '\315', '\316', '\317',
'\320', '\321', '\322', '\323', '\324', '\325', '\326', '\327',
'\330', '\331', '\332', '\333', '\334', '\335', '\336', '\337',
'\340', '\341', '\342', '\343', '\344', '\345', '\346', '\347',
'\350', '\351', '\352', '\353', '\354', '\355', '\356', '\357',
'\360', '\361', '\362', '\363', '\364', '\365', '\366', '\367',
'\370', '\371', '\372', '\373', '\374', '\375', '\376', '\377',
};
static unsigned char yyToUpper [] = {
'\0', '\1', '\2', '\3', '\4', '\5', '\6', '\7',
'\10', '\11', '\12', '\13', '\14', '\15', '\16', '\17',
'\20', '\21', '\22', '\23', '\24', '\25', '\26', '\27',
'\30', '\31', '\32', '\33', '\34', '\35', '\36', '\37',
' ', '!', '"', '#', '$', '%', '&', '\'', '(', ')', '*', '+', ',', '-', '.', '/',
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', '<', '=', '>', '?',
'@', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O',
'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '[', '\\', ']', '^', '_',
'`', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O',
'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '{', '|', '}', '~', '\177',
'\200', '\201', '\202', '\203', '\204', '\205', '\206', '\207',
'\210', '\211', '\212', '\213', '\214', '\215', '\216', '\217',
'\220', '\221', '\222', '\223', '\224', '\225', '\226', '\227',
'\230', '\231', '\232', '\233', '\234', '\235', '\236', '\237',
'\240', '\241', '\242', '\243', '\244', '\245', '\246', '\247',
'\250', '\251', '\252', '\253', '\254', '\255', '\256', '\257',
'\260', '\261', '\262', '\263', '\264', '\265', '\266', '\267',
'\270', '\271', '\272', '\273', '\274', '\275', '\276', '\277',
'\300', '\301', '\302', '\303', '\304', '\305', '\306', '\307',
'\310', '\311', '\312', '\313', '\314', '\315', '\316', '\317',
'\320', '\321', '\322', '\323', '\324', '\325', '\326', '\327',
'\330', '\331', '\332', '\333', '\334', '\335', '\336', '\337',
'\340', '\341', '\342', '\343', '\344', '\345', '\346', '\347',
'\350', '\351', '\352', '\353', '\354', '\355', '\356', '\357',
'\360', '\361', '\362', '\363', '\364', '\365', '\366', '\367',
'\370', '\371', '\372', '\373', '\374', '\375', '\376', '\377',
};
static void yyInitialize ();
static void yyErrorMessage ARGS((int yyErrorCode));
static char input ();
/* line 27 "lex.rex" */
# include <stdio.h>
# include "Errors.h"
# define DPercent 1
# define Startdef 4
# define Translate 5
# define Slash 6
# define Dot 7
# define Question 8
# define Plus 9
# define Times 10
# define LParent 11
# define RParent 12
# define Bar 13
# define Action 14
# define Startcond 15
# define Repeat 16
# define Expansion 17
# define Caret 18
# define Pseudoaction 19
# define String 20
# define Charclass 21
# define Char 22
# define Macrodef 23
# define Translation 24
# define Newline 25
# define Dollar 26
/* error codes */
# define MissingBrace 9
# define MissingQuote 10
# define MissingDQuote 11
# define UnclosedComment 12
# define Error 3
static cardinal k, l; /* temporary variables for string length */
static char v [256]; /* temporary variable for strings */
static int level; /* counter for nested braces in actions */
/* struct for lists of strings for start conditions and macro defs. */
typedef struct scell {
tStringRef car;
struct scell * cdr;
} cell;
static cell * startconds = NULL; /* list of start conditions */
static cell * definitions = NULL; /* list of macro definitions */
static cell * local_section = NULL; /* text of local section */
/* constructor for string lists */
static cell * cons (s, p)
tStringRef s;
cell * p;
{
cell * q = (cell *) Alloc (sizeof (cell));
q->car = s;
q->cdr = p;
return q;
}
/* procedures for printing the start conditions */
void aux_print_startconds (p)
cell * p;
{
if (p != NULL) {
aux_print_startconds ((cell *) p->cdr);
(void) printf ("\t");
WriteString (stdout, p->car);
(void) printf (",\n");
}
}
void print_startconds ()
{
if (startconds != NULL) {
(void) printf ("\nSTART\n");
aux_print_startconds ((cell *) startconds->cdr);
(void) printf ("\t");
WriteString (stdout, startconds->car);
(void) printf ("\n");
}
}
/* procedures for printing the macro definitions */
void aux_print_macrodefs (p)
cell * p;
{
if (p != NULL) {
aux_print_macrodefs ((cell *) p->cdr);
(void) printf ("\t");
WriteString (stdout, p->car);
(void) printf ("\n");
}
}
void print_macrodefs ()
{
if (definitions != NULL) {
(void) printf ("\nDEFINE\n");
aux_print_macrodefs (definitions);
}
}
/* procedures for printing the LOCAL section */
void aux_print_local (p)
cell * p;
{
if (p != NULL) {
aux_print_local ((cell *) p->cdr);
WriteString (stdout, p->car);
}
}
void print_local ()
{
if (local_section != NULL) {
(void) printf ("LOCAL {\n");
aux_print_local (local_section);
(void) printf ("}\n");
}
}
/* mut macro to list of definitions */
void put_macro (p)
char *p;
{
definitions = cons (PutString (p, strlen (p)), definitions);
}
/* put string to text of LOCAL section */
void put_local (p)
char *p;
{
local_section = cons (PutString (p, strlen (p)), local_section);
}
/* attribute for tokens inserted by parser */
void ErrorAttribute (Token, Attribute)
int Token;
tScanAttribute * Attribute;
{
Attribute->char_value = '\0';
};
/* convert character in character class from LEX to REX format */
/* returns the number of characters read */
static int debracket (t, q)
char **t;
char *q;
{
int x;
int r;
char *p = *t;
if (*p == '\\') {
*q++ = *p++;
if ((*p >= '0') && (*p <= '7')) { /* octal escape to decimal */
x = 0;
while ((*p >= '0') && (*p <= '7'))
x = 8 * x + *p++ - '0';
r = 1 + strlen (sprintf (q ,"%d", x));
} else { /* any other escape */
*q = *p++;
r = 2;
}
} else { /* REX special chars */
if ((*p == '-') || (*p == '}') || (*p == ' ') || (*p == '\\')) {
*q++ = '\\';
*q = *p++;
r = 2;
} else { /* normal character */
*q = *p++;
r = 1;
}
}
*t = p;
return r;
}
int GetToken ()
{
register yyStateRange yyState;
register yyStateRange * yyStatePtr;
register unsigned char * yyChBufferIndexReg;
register yyCombType * * yyBasePtrReg = yyBasePtr;
/* line 209 "lex.rex" */
char *p;
yyBegin:
yyState = yyStartState; /* initialize */
yyStatePtr = & yyStateStack [1];
yyChBufferIndexReg = yyChBufferIndex;
TokenPtr = (char *) yyChBufferIndexReg;
if (yyChBufferIndexReg [-1] == yyEolCh) yyState ++;
/* ASSERT yyChBuffer [yyChBufferIndex] == first character */
yyContinue: /* continue after sentinel or skipping blanks */
for (;;) { /* execute as many state transitions as possible */
/* determine next state and get next character */
register yyCombType * yyTablePtr = (yyBasePtrReg [yyState] + * yyChBufferIndexReg ++);
if (yyTablePtr->yyCheck == yyState) {
yyState = yyTablePtr->yyNext;
* yyStatePtr ++ = yyState; /* push state */
goto yyContinue;
}
yyChBufferIndexReg --; /* reconsider character */
if ((yyState = yyDefault [yyState]) == yyDNoState) break;
}
for (;;) { /* search for last final state */
TokenLength = yyChBufferIndexReg - (unsigned char *) TokenPtr;
yyChBufferIndex = yyChBufferIndexReg;
switch (* -- yyStatePtr) {
case 32:;
yyChBufferIndex -= 1;
TokenLength -= 1;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 264 "lex.rex" */
{ yyEol (0);
if (yyStartState == STD) { yyStart (Local); }
else yyStart (InTarget);
return DPercent;
} yy1: goto yyBegin;
case 31:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 271 "lex.rex" */
{ yyEol (0);
if (yyStartState == STD) { yyStart (RulePart); }
else yyStart (InTarget);
return DPercent;
} yy2: goto yyBegin;
case 63:;
case 145:;
case 155:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 279 "lex.rex" */
{ yyEcho; yyStart (Target1);
} yy3: goto yyBegin;
case 203:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 281 "lex.rex" */
{ yyStart (InTarget);
} yy4: goto yyBegin;
case 61:;
case 98:;
case 99:;
case 117:;
case 118:;
case 119:;
case 131:;
case 134:;
case 137:;
case 146:;
case 156:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 283 "lex.rex" */
{ yyEcho;
} yy5: goto yyBegin;
case 202:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 285 "lex.rex" */
{ yyPrevious; yyEcho; yyEol (0);
} yy6: goto yyBegin;
case 59:;
case 95:;
case 96:;
case 97:;
case 129:;
case 132:;
case 135:;
case 147:;
case 157:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 288 "lex.rex" */
{ if (yyStartState == Local) { (void) GetWord (v); put_local (v); } else yyEcho;
} yy7: goto yyBegin;
case 122:;
case 201:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 291 "lex.rex" */
{ if (yyStartState == Local) put_local ("%"); else yyEcho;
} yy8: goto yyBegin;
case 200:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 294 "lex.rex" */
{ if (yyStartState == Local) put_local ("\n"); else yyEcho; yyEol (0);
} yy9: goto yyBegin;
case 60:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 296 "lex.rex" */
{ yyStart (STD);
} yy10: goto yyBegin;
case 42:;
case 90:;
case 91:;
case 114:;
case 115:;
case 116:;
case 130:;
case 133:;
case 136:;
case 149:;
case 159:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 299 "lex.rex" */
{ if (yyStartState == Local) { (void) GetWord (v); put_local (v); } else yyEcho;
} yy11: goto yyBegin;
case 44:;
yyChBufferIndex -= 1;
TokenLength -= 1;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 302 "lex.rex" */
{ put_local ("\n"); yyEol (0);
} yy12: goto yyBegin;
case 30:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 305 "lex.rex" */
{ put_local ("\n"); yyEol (0); yyStart (RulePart);
} yy13: goto yyBegin;
case 43:;
yyChBufferIndex -= 1;
TokenLength -= 1;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 309 "lex.rex" */
{ k = 5 + GetWord (& v [5]);
(void) strcpy (v, "yyDoBEGIN ");
v [10] = '(';
v [k++] = ')';
v [k] = '\0';
l += k;
if (yyStartState == Local) put_local (v);
else (void) printf ("%s", v);
} yy14: goto yyBegin;
case 62:;
case 100:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 321 "lex.rex" */
{ l = GetWord (Attribute.string_value);
while (Attribute.string_value [--l] <= ' ')
Attribute.string_value [l] = '\0';
Attribute.string_value [++l] = '_';
Attribute.string_value [++l] = '\0';
yyStart (InMacro);
return Macrodef;
} yy15: goto yyBegin;
case 64:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 332 "lex.rex" */
{ l = GetWord (v);
(void) strtok (v, " \t\n");
do {
p = strtok ((char *) NULL, " \t\n");
if (p) startconds = cons (PutString (p, strlen (p)), startconds);
} while (p);
return Startdef;
} yy16: goto yyBegin;
case 65:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 342 "lex.rex" */
{ return Translate;
} yy17: goto yyBegin;
case 67:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 344 "lex.rex" */
{ return Translation;
} yy18: goto yyBegin;
case 66:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 347 "lex.rex" */
{
} yy19: goto yyBegin;
case 57:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 350 "lex.rex" */
{ yyEol (0);
} yy20: goto yyBegin;
case 199:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 353 "lex.rex" */
{ return Slash ;
} yy21: goto yyBegin;
case 198:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 354 "lex.rex" */
{ return Dot ;
} yy22: goto yyBegin;
case 197:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 355 "lex.rex" */
{ return Question ;
} yy23: goto yyBegin;
case 196:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 356 "lex.rex" */
{ return Plus ;
} yy24: goto yyBegin;
case 195:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 357 "lex.rex" */
{ return Times ;
} yy25: goto yyBegin;
case 194:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 358 "lex.rex" */
{ return LParent ;
} yy26: goto yyBegin;
case 193:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 359 "lex.rex" */
{ return RParent ;
} yy27: goto yyBegin;
case 192:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 360 "lex.rex" */
{ return Bar ;
} yy28: goto yyBegin;
case 58:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 363 "lex.rex" */
{ return Pseudoaction;
} yy29: goto yyBegin;
case 56:;
case 94:;
yyChBufferIndex -= 1;
TokenLength -= 1;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 366 "lex.rex" */
{ yyStart (InAction); l = 0;
} yy30: goto yyBegin;
case 40:;
yyChBufferIndex -= 1;
TokenLength -= 1;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 370 "lex.rex" */
{ k = 5 + GetWord (& v [5]);
(void) strcpy (v, "yyDoBEGIN ");
v [10] = '(';
v [k++] = ')';
v [k] = '\0';
(void) strcpy (& Attribute.string_value [l], v);
l += k;
} yy31: goto yyBegin;
case 190:;
case 191:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 381 "lex.rex" */
{ yyStart (String1); Attribute.string_value [l++] = '\'';
} yy32: goto yyBegin;
case 38:;
case 85:;
case 113:;
case 162:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 384 "lex.rex" */
{ l += GetWord (& Attribute.string_value [l]);
} yy33: goto yyBegin;
case 189:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 386 "lex.rex" */
{ yyPrevious; Attribute.string_value [l++] = '\'';
} yy34: goto yyBegin;
case 187:;
case 188:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 389 "lex.rex" */
{ yyStart (String2); Attribute.string_value [l++] = '"';
} yy35: goto yyBegin;
case 37:;
case 84:;
case 112:;
case 163:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 392 "lex.rex" */
{ l += GetWord (& Attribute.string_value [l]);
} yy36: goto yyBegin;
case 186:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 394 "lex.rex" */
{ yyPrevious; Attribute.string_value [l++] = '"';
} yy37: goto yyBegin;
case 183:;
/* line 397 "lex.rex" */
{ yyStart (Comment); l += GetWord (& Attribute.string_value [l]);
} yy38: goto yyBegin;
case 36:;
case 81:;
case 82:;
case 83:;
case 164:;
/* line 400 "lex.rex" */
{ l += GetWord (& Attribute.string_value [l]);
} yy39: goto yyBegin;
case 181:;
/* line 403 "lex.rex" */
{ yyPrevious; l += GetWord (& Attribute.string_value [l]);
} yy40: goto yyBegin;
case 180:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 406 "lex.rex" */
{ Attribute.string_value [l++] = '\n';
Attribute.string_value [l++] = '\0';
l = 0;
yyEol (0);
return Action;
} yy41: goto yyBegin;
case 179:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 413 "lex.rex" */
{ Attribute.string_value [l++] = '\t'; yyTab;
} yy42: goto yyBegin;
case 41:;
case 88:;
case 89:;
case 142:;
case 150:;
case 160:;
case 184:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 415 "lex.rex" */
{ l += GetWord (& Attribute.string_value [l]);
} yy43: goto yyBegin;
case 178:;
yyChBufferIndex -= 1;
TokenLength -= 1;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 419 "lex.rex" */
{ yyStart (RulePart);
Attribute.string_value [l++] = ';';
Attribute.string_value [l++] = '\0';
return Action;
} yy44: goto yyBegin;
case 177:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 426 "lex.rex" */
{ yyStart (AfterAction);
Attribute.string_value [l++] = ';';
Attribute.string_value [l++] = '\0';
return Action;
} yy45: goto yyBegin;
case 35:;
case 80:;
case 111:;
case 152:;
case 165:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 432 "lex.rex" */
{ yyStart (RulePart);
} yy46: goto yyBegin;
case 47:;
case 93:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 435 "lex.rex" */
{ yyStart (MultiLine); level = 1; l = 0;
} yy47: goto yyBegin;
case 176:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 437 "lex.rex" */
{ Attribute.string_value [l++] = '{'; ++ level;
} yy48: goto yyBegin;
case 175:;
yyChBufferIndex -= 1;
TokenLength -= 1;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 440 "lex.rex" */
{ if (-- level == 0) { Attribute.string_value [l] = '\0'; yyStart (RulePart); return Action; }
else Attribute.string_value [l++] = '}';
} yy49: goto yyBegin;
case 174:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 445 "lex.rex" */
{ if (-- level == 0) { Attribute.string_value [l] = '\0'; yyStart (AfterAction); return Action; }
else Attribute.string_value [l++] = '}';
} yy50: goto yyBegin;
case 173:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 450 "lex.rex" */
{ l += GetWord (& Attribute.string_value [l]); l = 0; yyEol (0); return Action;
} yy51: goto yyBegin;
case 39:;
case 86:;
case 87:;
case 151:;
case 161:;
case 185:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 453 "lex.rex" */
{ (void) GetWord (& Attribute.string_value [l++]);
} yy52: goto yyBegin;
case 53:;
yyChBufferIndex -= 1;
TokenLength -= 1;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 457 "lex.rex" */
{ yyStart (NowCaret);
l = GetWord (Attribute.string_value);
Attribute.string_value [0] = '#';
Attribute.string_value [l-1] = '#';
return Startcond;
} yy53: goto yyBegin;
case 52:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 466 "lex.rex" */
{ l = GetWord (Attribute.string_value);
Attribute.string_value [0] = '#';
Attribute.string_value [l-1] = '#';
return Startcond;
} yy54: goto yyBegin;
case 48:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 474 "lex.rex" */
{ l = GetWord (Attribute.string_value);
Attribute.string_value [0] = '[';
Attribute.string_value [l-1] = ']';
p = & Attribute.string_value [1];
while ((*p >= '0') && (*p <= '9')) p++;
if (*p == ',') *p = '-';
return Repeat;
} yy55: goto yyBegin;
case 49:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 485 "lex.rex" */
{ l = GetWord (Attribute.string_value);
Attribute.string_value [0] = ' ';
Attribute.string_value [l-1] = '_';
Attribute.string_value [l++] = ' ';
Attribute.string_value [l] = '\0';
return Expansion;
} yy56: goto yyBegin;
case 172:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 494 "lex.rex" */
{ return Caret;
} yy57: goto yyBegin;
case 171:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 497 "lex.rex" */
{ yyStart (RulePart); return Caret;
} yy58: goto yyBegin;
case 51:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 501 "lex.rex" */
{ Attribute.char_value = 0;
(void) GetWord (v);
p = & v [1];
while (*p) Attribute.char_value = 8 * Attribute.char_value + *p++ - '0';
return Char;
} yy59: goto yyBegin;
case 50:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 510 "lex.rex" */
{ (void) GetWord (v);
switch (v [1]) {
case 'n' : Attribute.char_value = 10; break;
case 'b' : Attribute.char_value = 8 ; break;
case 't' : Attribute.char_value = 9 ; break;
case 'f' : Attribute.char_value = 12; break;
case 'r' : Attribute.char_value = 13; break;
default : Attribute.char_value = v [1]; break;
}
return Char;
} yy60: goto yyBegin;
case 170:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 524 "lex.rex" */
{ (void) strcpy (Attribute.string_value, "\\NOT"); return String;
} yy61: goto yyBegin;
case 45:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 528 "lex.rex" */
{ l = GetWord (& Attribute.string_value [1]);
Attribute.string_value [0] = '"';
Attribute.string_value [++l] = '"';
Attribute.string_value [++l] = '\0';
return String;
} yy62: goto yyBegin;
case 55:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 537 "lex.rex" */
{ l = GetWord (Attribute.string_value); return String;
} yy63: goto yyBegin;
case 46:;
case 92:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 542 "lex.rex" */
{ yyStart (InBrackets);
l = GetWord (Attribute.string_value);
if (l == 2) {
Attribute.string_value [0] = '-';
Attribute.string_value [1] = '{';
}
else
Attribute.string_value [0] = '{';
} yy64: goto yyBegin;
case 34:;
case 79:;
/* line 554 "lex.rex" */
{ (void) GetWord (v);
p = v;
l += debracket (& p, & Attribute.string_value [l]);
Attribute.string_value [l++] = '-';
p++;
l += debracket (& p, & Attribute.string_value [l]);
} yy65: goto yyBegin;
case 33:;
case 78:;
case 110:;
case 143:;
case 153:;
case 166:;
/* line 564 "lex.rex" */
{ (void) GetWord (v);
p = v;
l += debracket (& p, & Attribute.string_value [l]);
} yy66: goto yyBegin;
case 167:;
/* line 571 "lex.rex" */
{ yyPrevious;
Attribute.string_value [l++] = '}';
Attribute.string_value [l++] = '\0';
return Charclass;
} yy67: goto yyBegin;
case 54:;
yyChBufferIndex -= 1;
TokenLength -= 1;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 577 "lex.rex" */
{ return Dollar;
} yy68: goto yyBegin;
case 29:;
case 68:;
case 69:;
case 70:;
case 71:;
case 101:;
case 102:;
case 103:;
case 120:;
case 121:;
case 168:;
case 182:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 580 "lex.rex" */
{ (void) GetWord (v); Attribute.char_value = v [0]; return Char;
} yy69: goto yyBegin;
case 141:;
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = (unsigned char *) TokenPtr - yyLineStart;
/* line 583 "lex.rex" */
{ yyEol (0); if (yyStartState == InMacro) yyStart (STD); return Newline;
} yy70: goto yyBegin;
case 154:;
case 158:;
{/* BlankAction */
while (* yyChBufferIndexReg ++ == ' ') ;
TokenPtr = (char *) -- yyChBufferIndexReg;
yyState = yyStartState;
yyStatePtr = & yyStateStack [1];
goto yyContinue;
} yy71: goto yyBegin;
case 144:;
case 148:;
{/* TabAction */
yyLineStart -= 7 - ((unsigned char *) TokenPtr - yyLineStart - 1) & 0x7; /* % 8 */
} yy72: goto yyBegin;
case 1:;
case 2:;
case 3:;
case 4:;
case 5:;
case 6:;
case 7:;
case 8:;
case 9:;
case 10:;
case 11:;
case 12:;
case 13:;
case 14:;
case 15:;
case 16:;
case 17:;
case 18:;
case 19:;
case 20:;
case 21:;
case 22:;
case 23:;
case 24:;
case 25:;
case 26:;
case 27:;
case 28:;
case 72:;
case 73:;
case 74:;
case 75:;
case 76:;
case 77:;
case 104:;
case 105:;
case 106:;
case 107:;
case 108:;
case 109:;
case 123:;
case 124:;
case 125:;
case 126:;
case 127:;
case 128:;
case 138:;
case 169:;
/* non final states */
yyChBufferIndexReg --; /* return character */
break;
case 140:
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = yyChBufferIndexReg - yyLineStart;
/* TokenLength = 1; */
yyChBufferIndex = ++ yyChBufferIndexReg;
{
(void) putchar ((int) yyChBufferIndexReg [-1]);
}
goto yyBegin;
case yyDNoState: /* automatic initialization */
yyInitialize ();
yySourceFile = StdIn;
goto yyBegin;
case 139:
yyChBufferIndex = -- yyChBufferIndexReg; /* undo last state transition */
if (-- TokenLength == 0) { /* get previous state */
yyState = yyStartState;
if (yyChBufferIndexReg [-1] == yyEolCh) yyState ++;
} else {
yyState = * (yyStatePtr - 1);
}
if (yyChBufferIndex != & yyChBufferStart [yyBytesRead]) {
/* end of buffer sentinel in buffer */
if ((yyState = yyEobTrans [yyState]) == yyDNoState) continue;
yyChBufferIndexReg ++;
* yyStatePtr ++ = yyState; /* push state */
goto yyContinue;
}
/* end of buffer reached */
{ /* copy initial part of token in front of the input buffer */
register char * yySource = TokenPtr;
register char * yyTarget = TokenPtr = (char *) & yyChBufferPtr [yyMaxAlign - TokenLength % yyMaxAlign];
if (yySource != yyTarget) {
while (yySource < (char *) yyChBufferIndexReg) * yyTarget ++ = * yySource ++;
yyLineStart += (unsigned char *) yyTarget - yyChBufferStart - yyBytesRead;
yyChBufferStart = (unsigned char *) yyTarget;
} else {
yyChBufferStart = yyChBufferIndexReg;
}
}
if (! yyEof) { /* read buffer and restart */
int yyChBufferFree = (int) Exp2 (Log2 (yyChBufferSize - 4 - yyMaxAlign - TokenLength));
if (yyChBufferFree < yyChBufferSize / 8) {
register int yyDelta;
register unsigned char * yyOldChBufferPtr = yyChBufferPtr;
ExtendArray ((char * *) & yyChBufferPtr, & yyChBufferSize, sizeof (char));
if (yyChBufferPtr == NULL) yyErrorMessage (1);
yyDelta = yyChBufferPtr - yyOldChBufferPtr;
yyChBufferStart += yyDelta;
yyLineStart += yyDelta;
TokenPtr += yyDelta;
yyChBufferFree = (int) Exp2 (Log2 (yyChBufferSize - 4 - yyMaxAlign - TokenLength));
if (yyStateStackSize < yyChBufferSize) {
yyStateRange * yyOldStateStack = yyStateStack;
ExtendArray ((char * *) & yyStateStack, & yyStateStackSize, sizeof (yyStateRange));
if (yyStateStack == NULL) yyErrorMessage (1);
yyStatePtr += yyStateStack - yyOldStateStack;
}
}
yyChBufferIndex = yyChBufferIndexReg = yyChBufferStart;
yyBytesRead = GetLine (yySourceFile, (char *) yyChBufferIndex, yyChBufferFree);
if (yyBytesRead <= 0) { yyBytesRead = 0; yyEof = true; }
yyChBufferStart [yyBytesRead ] = yyEobCh;
yyChBufferStart [yyBytesRead + 1] = '\0';
goto yyContinue;
}
if (TokenLength == 0) { /* end of file reached */
Attribute.Position.Line = yyLineCount;
Attribute.Position.Column = yyChBufferIndexReg - yyLineStart;
CloseFile ();
if (yyFileStackPtr == yyFileStack) {
/* line 225 "lex.rex" */
switch (yyStartState) {
case InAction : ;
case MultiLine: ErrorMessage (MissingBrace, Error, Attribute.Position); break;
case String1 : ErrorMessage (MissingQuote, Error, Attribute.Position); break;
case String2 : ErrorMessage (MissingDQuote, Error, Attribute.Position); break;
case Comment : ErrorMessage (UnclosedComment, Error, Attribute.Position); break;
default : break;
}
}
if (yyFileStackPtr == yyFileStack) return EofToken;
goto yyBegin;
}
break;
default:
yyErrorMessage (0);
}
}
}
void BeginFile
# if defined __STDC__ | defined __cplusplus
(char * yyFileName)
# else
(yyFileName) char * yyFileName;
# endif
{
yyInitialize ();
yySourceFile = BeginSource (yyFileName);
if (yySourceFile < 0) yyErrorMessage (4);
}
static void yyInitialize ()
{
if (yyFileStackPtr >= yyFileStack + yyFileStackSize) yyErrorMessage (2);
yyFileStackPtr ++; /* push file */
yyFileStackPtr->yySourceFile = yySourceFile ;
yyFileStackPtr->yyEof = yyEof ;
yyFileStackPtr->yyChBufferPtr = yyChBufferPtr ;
yyFileStackPtr->yyChBufferStart = yyChBufferStart ;
yyFileStackPtr->yyChBufferSize = yyChBufferSize ;
yyFileStackPtr->yyChBufferIndex = yyChBufferIndex ;
yyFileStackPtr->yyBytesRead = yyBytesRead ;
yyFileStackPtr->yyLineCount = yyLineCount ;
yyFileStackPtr->yyLineStart = yyLineStart ;
/* initialize file state */
yyChBufferSize = yyInitBufferSize;
MakeArray ((char * *) & yyChBufferPtr, & yyChBufferSize, sizeof (char));
if (yyChBufferPtr == NULL) yyErrorMessage (1);
yyChBufferStart = & yyChBufferPtr [yyMaxAlign];
yyChBufferStart [-1] = yyEolCh; /* begin of line indicator */
yyChBufferStart [ 0] = yyEobCh; /* end of buffer sentinel */
yyChBufferStart [ 1] = '\0';
yyChBufferIndex = yyChBufferStart;
yyEof = false;
yyBytesRead = 0;
yyLineCount = 1;
yyLineStart = & yyChBufferStart [-1];
if (yyStartState == 0) {
yyStartState = STD;
yyStateStack [0] = yyDefaultState; /* stack underflow sentinel */
}
}
void CloseFile ()
{
if (yyFileStackPtr == yyFileStack) yyErrorMessage (3);
CloseSource (yySourceFile);
ReleaseArray ((char * *) & yyChBufferPtr, & yyChBufferSize, sizeof (char));
/* pop file */
yySourceFile = yyFileStackPtr->yySourceFile ;
yyEof = yyFileStackPtr->yyEof ;
yyChBufferPtr = yyFileStackPtr->yyChBufferPtr ;
yyChBufferStart = yyFileStackPtr->yyChBufferStart ;
yyChBufferSize = yyFileStackPtr->yyChBufferSize ;
yyChBufferIndex = yyFileStackPtr->yyChBufferIndex ;
yyBytesRead = yyFileStackPtr->yyBytesRead ;
yyLineCount = yyFileStackPtr->yyLineCount ;
yyLineStart = yyFileStackPtr->yyLineStart ;
yyFileStackPtr --;
}
int GetWord
# if defined __STDC__ | defined __cplusplus
(char * yyWord)
# else
(yyWord) char * yyWord;
# endif
{
register char * yySource = TokenPtr;
register char * yyTarget = yyWord;
register char * yyChBufferIndexReg = (char *) yyChBufferIndex;
do { /* ASSERT word is not empty */
* yyTarget ++ = * yySource ++;
} while (yySource < yyChBufferIndexReg);
* yyTarget = '\0';
return yyChBufferIndexReg - TokenPtr;
}
int GetLower
# if defined __STDC__ | defined __cplusplus
(char * yyWord)
# else
(yyWord) char * yyWord;
# endif
{
register char * yySource = TokenPtr;
register char * yyTarget = yyWord;
register char * yyChBufferIndexReg = (char *) yyChBufferIndex;
do { /* ASSERT word is not empty */
* yyTarget ++ = yyToLower [* yySource ++];
} while (yySource < yyChBufferIndexReg);
* yyTarget = '\0';
return yyChBufferIndexReg - TokenPtr;
}
int GetUpper
# if defined __STDC__ | defined __cplusplus
(char * yyWord)
# else
(yyWord) char * yyWord;
# endif
{
register char * yySource = TokenPtr;
register char * yyTarget = yyWord;
register char * yyChBufferIndexReg = (char *) yyChBufferIndex;
do { /* ASSERT word is not empty */
* yyTarget ++ = yyToUpper [* yySource ++];
} while (yySource < yyChBufferIndexReg);
* yyTarget = '\0';
return yyChBufferIndexReg - TokenPtr;
}
static char input ()
{
if (yyChBufferIndex == & yyChBufferStart [yyBytesRead]) {
if (! yyEof) {
yyLineStart -= yyBytesRead;
yyChBufferIndex = yyChBufferStart = yyChBufferPtr;
yyBytesRead = GetLine (yySourceFile, (char *) yyChBufferIndex,
(int) Exp2 (Log2 (yyChBufferSize)));
if (yyBytesRead <= 0) { yyBytesRead = 0; yyEof = true; }
yyChBufferStart [yyBytesRead ] = yyEobCh;
yyChBufferStart [yyBytesRead + 1] = '\0';
}
}
if (yyChBufferIndex == & yyChBufferStart [yyBytesRead]) return '\0';
else return * yyChBufferIndex ++;
}
void BeginScanner ()
{
/* line 211 "lex.rex" */
(void) printf ("EXPORT {\n");
(void) printf ("# define lex_interface\n");
(void) printf ("# include \"Positions.h\"\n");
(void) printf ("typedef struct { tPosition Position; } tScanAttribute;\n");
(void) printf ("extern void ErrorAttribute ();\n");
(void) printf ("}\n\n");
(void) printf ("GLOBAL {\n");
(void) printf ("# define ECHO (void) printf (\"%%s\", yytext)\n");
(void) printf ("# define yyless yyLess\n");
(void) printf ("# define yyDoBEGIN(state) { yyPreviousStart = yyStartState; yyStartState = (state) ? (state) : 1; }\n");
(void) printf ("char yytext [256];\n");
}
void CloseScanner ()
{
}
static void yyErrorMessage
# if defined __STDC__ | defined __cplusplus
(int yyErrorCode)
# else
(yyErrorCode) int yyErrorCode;
# endif
{
WritePosition (stderr, Attribute.Position);
switch (yyErrorCode) {
case 0: (void) fprintf (stderr, ": Scanner: internal error\n"); break;
case 1: (void) fprintf (stderr, ": Scanner: out of memory\n"); break;
case 2: (void) fprintf (stderr, ": Scanner: too many nested include files\n"); break;
case 3: (void) fprintf (stderr, ": Scanner: file stack underflow (too many calls of CloseFile)\n"); break;
case 4: (void) fprintf (stderr, ": Scanner: cannot open input file\n"); break;
}
Scanner_Exit ();
}